数据表(Table)
数据表是所有数据库开发者打交道最多的数据管理层级,它的原理非常简单,就是用表格的形式,描述数据。
在这里,我们应当对如下的几个术语建立基本的了解,他们是未来我们深入于原理与内核的重要基础:
- 关系(Relation)
代表整张数据表(Table) - 元组(Tuble)
数据表中的一行(Rows) - 属性(Attribute)
数据表中的一列(Column)
而后面所介绍的各种 SQL 语句,自逻辑上看,就是对于数据表的操作(在这里,你可以想象你是在使用代码,而不是鼠标在帮你使用 Excel 软件)。
创建数据表
一般而言,想要创建一张数据表,则需要使用 CREATE TABLE
语句,让我们继续发挥我们的想象力,假定我们需要存储一组书籍的名称,作者与价格,数据表的名称为“book”,则可以使用如下的语句:
CREATE TABLE book (
name TEXT, /* 书籍的名称 */
author TEXT, /* 作者的姓名 */
price INTEGER /* 书籍的价格 */
);
而如果我们希望描述一款数据库软件的基本情况(如 PostgreSQL),那么我们可以尝试使用如下的语句:
CREATE TABLE database_soft (
name TEXT, /* 数据库软件的名称 */
author TEXT, /* 数据库软件的作者 */
describle TEXT /* 数据库软件的简介 */
);
而在创建之后,我们可以尝试观察数据表的结构,这里我们假定你正在使用 psql 工具,则使用 \d 指令,可以查看到这两张表的情况:
可以发现,psql 反馈给我们的是:
# 可以思考为什么反馈信息里面没有包含“数据表所存放的数据库”
# 答案:因为我们使用 psql 连接 PostgreSQL 的时候,就已经指定了数据库
Table "数据表所对应的数据模式.数据表名称"
|列名称|该列所存储的数据类型|排序规则|是否可以为空|默认值|
其中,在当下的阶段,我们只需要关心前面的两项内容(即数据列的名称与数据类型)即可,而后面的三项(排序规则,是否可以为空,默认值),则留待后面阐述。